High volume data processing systems typically run a myriad of processes or programs, some times running multiple copies of the same process or program. To make the necessary data available to each of these processes, many system designs call for the data to be replicated for and stored by each process. Other designs simply place a single copy of the frequently used data in a shared memory space. Such data management techniques are generally ineffective and commonly cause significant system performance degradations.
While many efforts have been extended to resolve these data sharing issues, each has either failed or presents its own limitations which make it less than desirable. For example, the most recently used/least recently used methods for managing data in many database applications is too generic for the data lookups typically required in a high volume data processing system. In array storage, another attempted resolution, performance degradation stems from fixed array capacities and data wrapping. In vector classes, a related attempt, it is typically costly for the system to manipulate the vector's contents when such content surpasses a certain volume.